package com.ansion.commonchat.startup.workmanager.bwork.impl.mode;

import androidx.annotation.NonNull;

/**
 * Created by wanghongjie on 2023/5/5
 * Describe :  Work 的数据管理类，等同于 WorkDatabase ，只不过不存入数据库，仅用缓存。
 * 这也是封装BWorkManager的目的，移除数据库相关，仅做缓存。
 * 提供等价的API，模拟数据存储。
 */
public abstract class WorkDataCache {

    public static @NonNull
    WorkDataCache create() {
        return new WorkDataCacheImpl();
    }

    @NonNull
    public abstract BWorkSpecDao workSpecDao();

    @NonNull
    public abstract BDependencyDao dependencyDao();

    @NonNull
    public abstract BWorkTagDao workTagDao();

    @NonNull
    public abstract BWorkCallbackDao workCallbackDao();

    // 退出登录，清理数据
    public abstract void logout();

}